Web应用程序安全的预防措施有哪几种
Web应用程序安全的预防措施有以下几种:
定义并采用合适的网络安全框架:网络安全框架包括一系列文档和指南,它定义了企业在管理网络安全风险,以及减少漏洞的过程中,需要遵循的各种优秀实践。这里主要强调的是“合适才是最好的”。我们需要对企业所处的行业,当前开展的业务进行调研。在此基础上,通过利用专业知识和业界现有的安全标准,为本企业准备详细的计划与适合的安全策略。
跟踪资产并进行威胁评估:如今,大多数企业都会通过在线运维的方式,对诸如:Web应用、网站、Web服务、API、以及基于云的软件即服务(SaaS)等IT资产,进行管理。因此在此类IT环境中,他们需要与内、外部的各种系统持续进行通信。同时,许多功能性的接口都会被暴露出来。对此,企业需要实施关键性网络安全计划便是资产发现。该环节可帮助运维人员找到各种Web资产,以便他们按需保护目标组件,并制定出相应的安全策略。可以说,一旦创建了所有重要Web资产的列表,他们即可开始执行威胁评估,以识别出针对当前应用的潜在威胁,进而制定出有效的缓解计划。
遵守安全编码标准:据软件工程研究所的统计,大约有90%的软件安全问题,都是由软件设计或代码中的缺陷引起的。诚然,开发人员的主要工作是让应用程序能够正常运行,但是如果忽略了安全编码,则会无形中留下各种安全漏洞和被攻击的后门。可见,我们需要实施安全的编码标准,以确保软件和应用得到保护,并免受安全漏洞的影响。在实际项目中,我们可以在软件开发生命周期(SDLC)的早期阶段引入安全性,并通过遵循OWASP的安全编码规范、以及SEI CERT编码标准,这两种时下流行的安全编码标准,以避免在后期测试和部署阶段,花费时间和精力去填补各种安全漏洞。
部署企业级安全解决方案:最常见的企业级智能安全解决方案当属Web应用防火墙(WAF)。它可以通过监控和过滤各种恶意HTTP流量,协助保护Web应用免受诸如SQL注入、跨站点脚本等攻击的侵害。也就是说,我们通过在Web应用程序和互联网之间放置一道WAF屏障,可以仅允许合法用户的访问,并阻断各种恶意的请求。当然,我们也可以考虑使用诸如Burpsuite pro和Acunetix之类专业的Web安全扫描器,以实现对Web应用的快速扫描,并识别出潜在的漏洞。
尽可能自动化:在日常运维中,我们往往需要执行Web应用扫描、签名与行为分析、以及DDoS缓解等重复性的任务。为了节省大量的时间和精力,安全人员应当与自动化技术人员合作,在确保各项任务得以自动化实施的前提下,增强Web应用的安全性。
加密数据:过去,Web应用往往使用明文的HTTP协议进行通信。这会导致攻击者能够以中间人(MIM)的方式,扮演通信中的某一方,窃取具体内容。如今,使用基于传输层安全协议(TLS)的HTTP加密方式,已经成为了许多企业应用的必选项。同时,它也成为了大多数浏览器的默认配置项。HTTPS加密可以维护用户浏览器和服务器之间传输数据的完整性。也就是说,当用户使用HTTPS协议连接到诸如某个互联网银行应用的网站时,浏览器会基于证书建立起安全的TLS会话,以保证浏览器和服务器之间的请求和响应都处于加密状态。显然,此类加密技术对于维护敏感用户数据的机密性和完整性都是不错的实践。
渗透测试:定期对Web应用执行全面的渗透测试,以及时发现目标系统的关键漏洞。渗透测试可以模拟攻击者或黑客对系统的出入口、源代码、数据库、公共可用源、以及后端网络,进行扫描和尝试性地攻击。 在完成测试后,渗透人员会出具已发现漏洞的优先级排序报告,并协助开发团队参照最佳的行业标准,予以漏洞修补和安全整改。小结至此,我们讨论了企业目前所面临的五种主要Web应用威胁,以及七种应对威胁的技术实践与防护措施。当然,对运维人员和普通员工进行最新的威胁概念教育,以及基本的威胁识别和预防等培训也是非常必要的。总之,对于攻击而言,越早发现,越早处置,越能保障安全。
启用对称加密/非对称加密进行通信:随着互联网技术的不断发展,传统的方式目前已经存在了一些不足,比如对http流量或者https流量进行检测,并不能够完全解决用户应用层或者Web层的安全问题。同时,要想实现web应用安全并不需要只是简单的基于协议本身进行防御,而更多的是要基于逻辑、基于行为、基于流程进行防御。
限制在Web服务器开账户,定期删除一些短进程的用户。
对在Web服务器上开的账户,在口令长度及定期更改方面作出要求,防止被盗用。一但服务器IP被扫描出来默认端口,非法分子就会对服务器进行暴力破解,利用第三方字典生成的密码来尝试破解服务器密码,如果您的口令长度足够复杂,非法分子就需要大量的时间来进行密码尝试,也许在密码未破解完成,服务器就已经进入保护模式,不允许登陆。
尽量在不同的服务器上运行不同的服务,尽量使FTP,mail等服务器与之分开,去掉一些无关应用。
如不需要,尽量关闭Web服务器上的特性服务。
定期查看服务器中的日志logs文件。
设置好Web服务器上系统文件的权限和属性。
有些Web服务器把Web的文档目录与FTP目录指在同一目录,应该注意不要把FTP的目录与CGI-BIN指定在一个目录之下。
通过限制许可访问用户IP或DNS。另外,许多Web服务器本身都存在一些安全上的漏洞,都需要在版本升级时不断解决。无论多么安全的站点,都可能被破坏,都有可能遭到黑客的攻击。所以,一定要沉着冷静地处理意外事件。